package com.tlvip.leetcode;

/**
 * <p>description：</p>
 * <p>copyright： copyright(C)2016-2099</p>
 * <p>Life is short,we need passion</p>
 * <p>Summary： </p>
 * <p>instructions： 删除排序数组中的重复项
 * 1.定义两个指针，i为慢指针，j为快指针；
 * 2.初始状态i=0；j=1；
 * 3.j不断向后移动
 * 4.如果num[i] != num[j]，则将num[j]赋值给num[i+1]，i也向后移动一位
 * 5.最终返回i+1（i是数组下标，数组长度 = i + 1）
 * </p>
 * Date 2022/5/8</p>
 * Author mac
 *
 * @version 1.0
 */
public class SortedArrayDuplicates {
    public static void main(String[] args) {
        int[] nums = {0, 1, 1, 2, 2, 2, 3, 5, 5, 5, 6};
        System.out.println(removeDuplicates(nums));
    }

    public static int removeDuplicates(int[] nums) {
        if (nums.length == 0) {
            return 0;
        }
        int i = 0;
        for (int j = 1; j < nums.length; j++) {
            if (nums[i] != nums[j]) {
                i++;
                nums[i] = nums[j];
            }
        }
        return i + 1;
    }
}
